package com.course.service;

import com.course.domain.pojo.CourseTag;
import com.baomidou.mybatisplus.extension.service.IService;
import com.course.domain.vo.TreeCourseTagsVo;

import java.util.List;

/**
 * <p>
 * 课程标签表 服务类
 * </p>
 *
 * @author 小杰大人
 * @since 2025-09-26
 */
public interface ICourseTagService extends IService<CourseTag> {

    /**
     * 获取课程标签列表
     */
    List<CourseTag> getCourseTags();

    /**
     * 根据标签Id获取标签信息
     */
    CourseTag getCourseTagById(Long courseTagId);

    /**
     * 根据标签Id列表获取标签列表 课程标签Id集合，多个之间逗号分割
     */
    List<CourseTag> getCourseTagsByCourseId(String tagIds);

    /**
     * 根据标签Id列表获取标签名称 课程标签Id集合，多个之间逗号分割
     */
    List<String> getCourseTagNamesByIds(String tagIds);

    /**
     * 获取课程标签列表 并且构建为层级结构返回
     */
    List<TreeCourseTagsVo> getCourseTagsAsTree();



    boolean deleteTagById(Long id);
}
